package com.cdtye.itps.cms.dao.device.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.cdtye.itps.cms.dao.enums.DelFlagEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 接触网设备分类表
 * @author nz
 * @date 2021-08-20
 */
@ApiModel("接触网设备分类表")
@Data
@Accessors(chain = true)
@TableName("JCW_DEVICECLASS")
public class JcwDeviceclass {
    
    @ApiModelProperty(value = "设备分类ID")
    @TableId(value = "DEVICE_CLASS_ID", type = IdType.ASSIGN_UUID)
    private String deviceClassId;

    @ApiModelProperty(value = "设备分类编码")
    private String deviceClassCode;

    @ApiModelProperty(value = "设备分类名称")
    private String deviceClassName;

    @ApiModelProperty(value = "父分类ID")
    private String fclassId;

    @ApiModelProperty(value = "排序")
    private Double orderNum;

    @ApiModelProperty(value = "状态  NORMAL: 正常  FROZEN:冻结")
    private String status;

    @ApiModelProperty(value = "检修周期 以月为单位")
    private Long overhaulPeriod;

    @ApiModelProperty(value = "检测周期 以月为单位")
    private Long detectPeriod;

    @ApiModelProperty(value = "巡视周期 以月为单位")
    private Long inspectionPeriod;

    @ApiModelProperty(value = "描述")
    private String memo;

    @ApiModelProperty(value = "设备分类单位")
    private String deviceClassUnit;

    @ApiModelProperty(value = "高铁公里标换算系数")
    private Double roadMarkFactorGt;

    @ApiModelProperty(value = "普铁公里标换算系数")
    private Double roadMarkFactorPt;

    @ApiModelProperty(value = "公里标换算系数")
    private Double roadMarkFactor;

    @ApiModelProperty(value = "高铁寿命（以月为单位）")
    private Long lifeTimeGt;

    @ApiModelProperty(value = "普铁寿命（以月为单位）")
    private Long lifeTimePt;

    @ApiModelProperty(value = "访问URL")
    private String accessUrl;

    @ApiModelProperty(value = "是否关键设备,1:关键设备，0不是")
    private Integer isPrimaryDevice;

    @ApiModelProperty(value = "检修周期提醒 (以月为单位),快到周期提醒")
    private Long overhaulPeriodRemind;

    @ApiModelProperty(value = "检修周期超过提醒 (以月为单位)")
    private Long exceedOverhaulPeriodRemind;

    @ApiModelProperty(value = "设备分类简称")
    private String deviceClassShortName;

    @ApiModelProperty("创建时间")
    @TableField(value ="CREATE_DATETIME", fill = FieldFill.INSERT)
    private Date createDatetime;

    @ApiModelProperty("更新时间")
    @TableField(value ="UPDATE_DATETIME",fill = FieldFill.INSERT_UPDATE)
    private Date updateDatetime;

    @ApiModelProperty("创建人")
    @TableField(value ="CREATE_BY", fill = FieldFill.INSERT)
    private String createBy;

    @ApiModelProperty("更新人")
    @TableField(value ="UPDATE_BY",fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    @ApiModelProperty("删除标志，Y=是，N=否")
    @TableField(value ="DEL_FLAG", fill = FieldFill.INSERT)
    private DelFlagEnum delFlag;

    @ApiModelProperty(value = "高普铁")
    private String railType;

    @ApiModelProperty(value = "1：允许跨线路，0：不能跨线路")
    private Integer isCrossLine;

    @ApiModelProperty(value = "1：能挂靠设备，0：不能挂靠设备（也就是只是表示是一个分组）")
    private Integer isHaveDevice;

}